--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / vendor / lxmfy / .gitea / workflows / build-docs.yml
Displaying Raw • Download
vendor/lxmfy/.gitea/workflows/build-docs.yml fee9e3356259c967b89373cf94deec01e6a5e6b3 (fee9e335) Text, 6.34 KB
Tff7b72nameTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffDocumentation
Tff7b72onTb4b4b4:
Tff7b72pushTb4b4b4:
Tff7b72branchesTb4b4b4: Tb4b4b4[ Te6edf3master Tb4b4b4]
Tff7b72workflow_dispatchTb4b4b4:
Tff7b72jobsTb4b4b4:
Tff7b72buildTb4b4b4:
Tff7b72runs-onTb4b4b4: Ta5d6ffubuntu-latest
Tff7b72permissionsTb4b4b4:
Tff7b72contentsTb4b4b4: Ta5d6ffwrite
Tff7b72defaultsTb4b4b4:
Tff7b72runTb4b4b4:
Tff7b72working-directoryTb4b4b4: Ta5d6ff./docs
Tff7b72stepsTb4b4b4:
Tb4b4b4- Tff7b72usesTb4b4b4: Ta5d6ffhttps://git.quad4.io/actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffSetTa5d6ff Ta5d6ffupTa5d6ff Ta5d6ffPython
Tff7b72usesTb4b4b4: Ta5d6ffhttps://git.quad4.io/actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548
Tff7b72withTb4b4b4:
Tff7b72python-versionTb4b4b4: Ta5d6ff'Ta5d6ff3.13Ta5d6ff'
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffPoetry
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72curl -sSL https://install.python-poetry.org | python3 -
Tff7b72echo "$HOME/.local/bin" >> $GITHUB_PATH
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffConfigureTa5d6ff Ta5d6ffPoetry
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72poetry config virtualenvs.create true
Tff7b72poetry config virtualenvs.in-project true
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffLoadTa5d6ff Ta5d6ffcachedTa5d6ff Ta5d6ffvenv
Tff7b72idTb4b4b4: Ta5d6ffcached-poetry-dependencies
Tff7b72usesTb4b4b4: Ta5d6ffhttps://git.quad4.io/actions/cache@2f8e54208210a422b2efd51efaa6bd6d7ca8920f
Tff7b72withTb4b4b4:
Tff7b72pathTb4b4b4: Ta5d6ff.venv
Tff7b72keyTb4b4b4: Ta5d6ffvenv-${{Ta5d6ff Ta5d6ffrunner.osTa5d6ff Ta5d6ff}}-${{Ta5d6ff Ta5d6ffhashFiles('**/poetry.lock')Ta5d6ff Ta5d6ff}}
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffdependencies
Tff7b72runTb4b4b4: Ta5d6ffpoetryTa5d6ff Ta5d6ffinstallTa5d6ff Ta5d6ff--withTa5d6ff Ta5d6ffdevTa5d6ff Ta5d6ff--no-interactionTa5d6ff Ta5d6ff--no-root
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffInstallTa5d6ff Ta5d6ffLaTeX
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72sudo apt-get update
Tff7b72sudo apt-get install -y texlive-latex-recommended texlive-fonts-recommended texlive-extra-utils texlive-latex-extra texlive-latex-base
Tff7b72sudo apt-get install -y latexmk
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffGetTa5d6ff Ta5d6ffsupportedTa5d6ff Ta5d6fflanguages
Tff7b72idTb4b4b4: Ta5d6fflanguages
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72# Default language is English (no suffix)
Tff7b72languages="en"
Tff7b72# Add other languages found in locales directory
Tff7b72if [ -d "./locales" ]; then
Tff7b72for lang_dir in ./locales/*/; do
Tff7b72if [ -d "$lang_dir" ]; then
Tff7b72lang=$(basename "$lang_dir")
Tff7b72languages="$languages $lang"
Tff7b72fi
Tff7b72done
Tff7b72fi
Tff7b72echo "languages=$languages" >> $GITHUB_OUTPUT
Tff7b72echo "Found languages: $languages"
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffBuildTa5d6ff Ta5d6ffdocumentationTa5d6ff Ta5d6ffforTa5d6ff Ta5d6ffallTa5d6ff Ta5d6fflanguages
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72languages="${{ steps.languages.outputs.languages }}"
Tff7b72echo "Building documentation for languages: $languages"
Tff7b72for lang in $languages; do
Tff7b72echo "Building documentation for language: $lang"
Tff7b72# Build HTML
Tff7b72if [ "$lang" = "en" ]; then
Tff7b72echo "Building English HTML..."
Tff7b72poetry run make html
Tff7b72else
Tff7b72echo "Building $lang HTML..."
Tff7b72poetry run make html-$lang
Tff7b72fi
Tff7b72# Build EPUB
Tff7b72if [ "$lang" = "en" ]; then
Tff7b72echo "Building English EPUB..."
Tff7b72poetry run make epub
Tff7b72else
Tff7b72echo "Building $lang EPUB..."
Tff7b72poetry run make epub-$lang
Tff7b72fi
Tff7b72# Build PDF (with error handling)
Tff7b72if [ "$lang" = "en" ]; then
Tff7b72echo "Building English PDF..."
Tff7b72poetry run make latexpdf || echo "English PDF build failed, continuing without PDF"
Tff7b72else
Tff7b72echo "Building $lang PDF..."
Tff7b72poetry run make latexpdf-$lang || echo "$lang PDF build failed, continuing without PDF"
Tff7b72fi
Tff7b72# Build text
Tff7b72if [ "$lang" = "en" ]; then
Tff7b72echo "Building English text..."
Tff7b72poetry run make text
Tff7b72else
Tff7b72echo "Building $lang text..."
Tff7b72poetry run make text-$lang
Tff7b72fi
Tff7b72done
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffCreateTa5d6ff Ta5d6ffreleaseTa5d6ff Ta5d6ffarchives
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72mkdir -p releases
Tff7b72# Get supported languages (same logic as before)
Tff7b72languages="en"
Tff7b72if [ -d "./locales" ]; then
Tff7b72for lang_dir in ./locales/*/; do
Tff7b72if [ -d "$lang_dir" ]; then
Tff7b72lang=$(basename "$lang_dir")
Tff7b72languages="$languages $lang"
Tff7b72fi
Tff7b72done
Tff7b72fi
Tff7b72echo "Creating archives for languages: $languages"
Tff7b72for lang in $languages; do
Tff7b72echo "Creating archives for language: $lang"
Tff7b72# Copy HTML builds
Tff7b72if [ "$lang" = "en" ]; then
Tff7b72cp -r build/html releases/html 2>/dev/null || echo "No English HTML found"
Tff7b72else
Tff7b72cp -r build/html/$lang releases/html-$lang 2>/dev/null || echo "No $lang HTML found"
Tff7b72fi
Tff7b72# Copy EPUB builds
Tff7b72if [ "$lang" = "en" ]; then
Tff7b72cp build/epub/*.epub releases/ 2>/dev/null || echo "No English EPUB files found"
Tff7b72else
Tff7b72cp build/epub/$lang/*.epub releases/ 2>/dev/null || echo "No $lang EPUB files found"
Tff7b72fi
Tff7b72# Copy PDF builds
Tff7b72if [ "$lang" = "en" ]; then
Tff7b72cp build/latex/*.pdf releases/ 2>/dev/null || echo "No English PDF files found"
Tff7b72else
Tff7b72cp build/latex/$lang/*.pdf releases/ 2>/dev/null || echo "No $lang PDF files found"
Tff7b72fi
Tff7b72# Copy text builds
Tff7b72if [ "$lang" = "en" ]; then
Tff7b72cp -r build/text releases/text 2>/dev/null || echo "No English text found"
Tff7b72else
Tff7b72cp -r build/text/$lang releases/text-$lang 2>/dev/null || echo "No $lang text found"
Tff7b72fi
Tff7b72done
Tff7b72cd releases
Tff7b72# Create archives for each language and format
Tff7b72for lang in $languages; do
Tff7b72echo "Creating archives for language: $lang"
Tff7b72# HTML archives
Tff7b72if [ -d "html${lang:+-$lang}" ]; then
Tff7b72tar -czf lxmfy-docs-html${lang:+-${lang}}-$(date +%Y%m%d).tar.gz html${lang:+-$lang}/
Tff7b72fi
Tff7b72# Text archives
Tff7b72if [ -d "text${lang:+-$lang}" ]; then
Tff7b72tar -czf lxmfy-docs-text${lang:+-${lang}}-$(date +%Y%m%d).tar.gz text${lang:+-$lang}/
Tff7b72fi
Tff7b72done
Tff7b72ls -la
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffSetTa5d6ff Ta5d6ffreleaseTa5d6ff Ta5d6ffvariables
Tff7b72idTb4b4b4: Ta5d6ffrelease_vars
Tff7b72runTb4b4b4: Tb4b4b4|
Tff7b72echo "tag_name=docs-$(date +%Y%m%d)" >> $GITHUB_OUTPUT
Tff7b72echo "release_name=$(date +%Y-%m-%d)" >> $GITHUB_OUTPUT
Tb4b4b4- Tff7b72nameTb4b4b4: Ta5d6ffCreateTa5d6ff Ta5d6ffRelease
Tff7b72usesTb4b4b4: Ta5d6ffhttps://git.quad4.io/actions/action-gh-release@6cbd405e2c4e67a21c47fa9e383d020e4e28b836
Tff7b72withTb4b4b4:
Tff7b72tag_nameTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsteps.release_vars.outputs.tag_nameTa5d6ff Ta5d6ff}}
Tff7b72nameTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsteps.release_vars.outputs.release_nameTa5d6ff Ta5d6ff}}
Tff7b72filesTb4b4b4: Tb4b4b4|
Tff7b72docs/releases/*.epub
Tff7b72docs/releases/*.pdf
Tff7b72docs/releases/*.tar.gz
Tff7b72make_latestTb4b4b4: Ta5d6fffalse
Tff7b72draftTb4b4b4: Ta5d6fffalse
Tff7b72prereleaseTb4b4b4: Ta5d6fffalse
Tff7b72envTb4b4b4:
Tff7b72GITHUB_TOKENTb4b4b4: Ta5d6ff${{Ta5d6ff Ta5d6ffsecrets.GITHUB_TOKENTa5d6ff Ta5d6ff}}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────